local charge = 0
addHook("AbilitySpecial", do
    for player in players.iterate
        if player.mo.skin ~= "amy2"
			return
		end
		if not (player.cmd.buttons & BT_SPIN) then
			P_Thrust(player.mo, player.mo.angle, 5*FRACUNIT)
			P_SetObjectMomZ(player.mo, 3*FRACUNIT, true)
		end
    end
end)
addHook("JumpSpinSpecial", do
    for player in players.iterate
        if player.mo.skin ~= "amy2"
			return
		end
		charge = charge + FRACUNIT
    end
end)
addHook("PlayerThink", do
    for player in players.iterate
        if player.mo.skin ~= "amy2"
			return
		end
		if player.mo.z <= player.mo.floorz then
			charge = 0
		end
		
		if charge > 0 and not (player.cmd.buttons & BT_SPIN) then
			P_SetObjectMomZ(player.mo, charge * -1, true)
			charge = 0
		end
    end
end)
